/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package control;

import DAOs.DaoPerson;
import entidad.*;
import java.io.File;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 *
 * @author Stiv
 */
public class crudPerson {
    
    public static DaoPerson dao = new DaoPerson();
    
    public static boolean crearDirector (String nombre, String apellido, File imag, String fecha, String lugar, int id ){
        if(nombre.equals("") || nombre.equals(null)) return false;
        
        dao.crear(new Director(nombre,apellido,imag, fecha,lugar,id));
        return true;
        
    }
    
    public static boolean crearActor (String nombre, String apellido, File imag, String fecha, String lugar, int id){
        if(nombre.equals("") || nombre.equals(null)) return false;
        
        dao.crear(new Actor(nombre,apellido,imag, fecha,lugar,id));
        return true;
        
    }
    
    public static boolean crearArtista (String nombre, String apellido, File imag, String fecha, String lugar, int id){
        if(nombre.equals("") || nombre.equals(null)) return false;
        
        dao.crear(new Artista(nombre,apellido,imag, fecha,lugar,id));
        return true;
        
    }
    
    public static ArrayList<Person> TraerPerson(String palabra){
        ArrayList<Person> temp = new ArrayList();
        int tamaño = palabra.length();
        for(Person u : dao.AllPerson() ){
                if(tamaño <= u.getNombre().length()){
                if(u.getNombre().substring(0,tamaño).toLowerCase().equals(palabra.toLowerCase())){
                    temp.add(u);
                }}
            }
        
        return temp;
        
    }
    
    public static Director TraerDirector(String nombre){
            Director temp = new Director();
            temp.setNombre(nombre);
            Director u = dao.leerNombre(temp);
            if(u!=null) {
                return u;
            }
            else return null;
    }
    
    public static Actor TraerActor(String nombre){
            Actor temp = new Actor();
            temp.setNombre(nombre);
            Actor u = dao.leerNombre(temp);
            if(u!=null) {
                return u;
            }
            else return null;
    }
    
    public static ArrayList<Person> TraerActores(String palabra){
        ArrayList<Person> temp = new ArrayList();
        int tamaño = palabra.length();
        for(Person u : dao.AllActors() ){
                if(tamaño <= u.getNombre().length()){
                if(u.getNombre().substring(0,tamaño).toLowerCase().equals(palabra.toLowerCase())){
                    temp.add(u);
                }}
            }
        
        return temp;
        
    }
    
    public static ArrayList<Person> TraerDirectores(String palabra){
        ArrayList<Person> temp = new ArrayList();
        int tamaño = palabra.length();
        for(Person u : dao.AllDirectors() ){
                if(tamaño <= u.getNombre().length()){
                if(u.getNombre().substring(0,tamaño).toLowerCase().equals(palabra.toLowerCase())){
                    temp.add(u);
                }}
            }
        
        return temp;
        
    }
    
    public static ArrayList<Person> TraerArtistas(String palabra){
        ArrayList<Person> temp = new ArrayList();
        int tamaño = palabra.length();
        for(Person u : dao.AllArtists() ){
                if(tamaño <= u.getNombre().length()){
                if(u.getNombre().substring(0,tamaño).toLowerCase().equals(palabra.toLowerCase())){
                    temp.add(u);
                }}
            }
        
        return temp;
        
    }
    
    
    
}
